package com.lj.job.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.lj.job.entity.ScheduleJob;
import com.lj.job.param.JobPageParam;
import com.lj.job.param.JobSaveParam;
import com.lj.job.param.JobUpdateParam;
import com.lj.job.result.JobInfoResult;
import com.lj.job.result.JobPageResult;
import com.lj.mp.standard.StandardService;

import java.util.List;

/**
 * <p>
 * 定时任务 服务类
 * </p>
 *
 * @author luojing
 * @since 2025-03-20 15:23:28
 */
public interface JobService extends StandardService<ScheduleJob> {

    IPage<JobPageResult> page(JobPageParam param);

    JobInfoResult info(Long id);

    void save(JobSaveParam param);

    void update(JobUpdateParam param);

    void delete(List<Long> ids);

    /**
     * 立即执行
     */
    void run(List<Long> ids);

    /**
     * 暂停运行
     */
    void pause(List<Long> ids);

    /**
     * 恢复运行
     */
    void resume(List<Long> ids);
}
